<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>16-js中的函数说明</title>
</head>
<body>
  <script>
    // js中的函数，只要被调用就会有返回值(包含undefined)
    // 当我们没有用到函数的返回值的时候，只是想让函数调用来执行内部的代码时，就不用定义变量来接收函数的返回值
    // function fn(){
    //   console.log(123)
    // }

    // let result = fn()
    // console.log(result)

    // let aa =  alert('警示框')
    // console.log(aa)

    // function getSum(a,b){
    //    let sum = a + b
    //    return sum // 将函数内部的数据返回要使用return关键字
    // }

    // let sum = getSum(10,20)
    // console.log(sum)

    // 定义两个函数，分别求两个数中的最大值  再求三个数中的最大值

    function getMax(a, b) {
      if (a < b) {
        return b
      } else {
        return a
      }
    }

    function getMax1(a, b, c) {
      // if (a > b && a > c) {
      //   return a
      // } else if (b > a && b > c) {
      //   return b
      // } else {
      //   return c
      // }
      // let d = getMax(a,b)
      // let max = getMax(d,c)
      // return max

      // let d = getMax(a,b)
      // let max = getMax(getMax(a,b),c)
      // return max

      return getMax(getMax(a,b),c)
    }
    // let max = getMax(100, 20)
    // console.log(max)

    // let max = getMax1(1000,200,30)
    // console.log(max)
    const a = 10;
    // js中的函数，只要调用 就会到原来声明的内部去执行里面的代码,执行完毕之后再回到被调用的位置继续向下
    function f1(){
      console.log('1111111111111111')
      console.log('1111111111111111')
      console.log('1111111111111111')
      console.log('1111111111111111')
      console.log('1111111111111111')
    }
    function f2(){
      console.log('2222222222222222')
      console.log('2222222222222222')
      f1()
      console.log('2222222222222222')
      console.log('2222222222222222')
      console.log('2222222222222222')
    }
    function f3(){
      console.log('3333333333333333')
      console.log('3333333333333333')
      f2()
      console.log('3333333333333333')
      console.log('3333333333333333')
      console.log('3333333333333333')
      console.log('3333333333333333')
    }
    f3()

    // F11 逐语句  就是函数中的每一行代码都会执行，能够在控制台调试的时候，清晰的看到执行过程
    // F10 逐过程  一个函数内部代码的执行，就称为一个过程，会瞬间执行完相应函数内的代码，在控制台当中，我们看不到具体的执行过程，这样的好处是为了节约调试时间
  </script>
</body>
</html>